Java Date作为MyBatis中Oracle SELECT查询的参数[not get Response]
我有一个类似的问题
Java Date as Parameter for Oracle SELECT query in MyBatis
但那个问题并没有得到回答,我确实在那个里发了帖子,还并没有收到回复。我的很相似,如果我去掉日期过滤器,它会工作得很好
myBatis版本myBatis spring boot starter v1。3.2[认为不能升级]
我的映射器xml如下所示
<mapper namespace="com.wind2.schedulerworker.dw.mapper.ProductBetlineReportMapper">
<resultMap id="productBetlineReportMap" type="ProductBetlineReport">
<id column="REPORT_DRAW_DATE" property="reportDrawDate" jdbcType="DATE" />
<id column="DRAW_DATE" property="drawDate" javaType="java.util.Date" jdbcType="DATE" />
<id column="PBID" property="pbid" jdbcType="VARCHAR" />
<result column="PRODUCT_CHANNEL" property="productChannel" jdbcType="VARCHAR" />
</resultMap>
<select id="selectProductBetlineReportCreated" resultMap="productBetlineReportMap" parameterType="java.util.List">
<foreach item="item" index="index" collection="productBetlineList" separator="union all">
SELECT REPORT_DRAW_DATE, PBID, DRAW_DATE FROM PRODUCT_BET_LINE_REPORT_CREATED
WHERE PBID = #{item.pbid} AND DRAW_DATE = #{item.drawDate}
</foreach>
</select>
</mapper>
我的java类如下,我使用java。util。日期
import java.util.Date;
public class ProductBetline {
....
private Date drawDate;
....
}
我在互联网上做了很多故障排除和搜索,如果我将xml条件更改为{item.drawDate}>,我确实得到了返回结果;绘制日期,但我想要的是“=”。我不确定它是否也有时间戳问题,但当我选择返回输入日期时,我将其与db日期相同。例如,2019年7月24日00:00:00(来自oracle db)和2019年7月24日00:00:00(来自java输入)。我不确定是年份和日期的倒转导致了问题还是什么(将日期视为年份或年份视为日期),但似乎不是这样,因为如果是这样的话,我的陈述将是不正确的
感谢任何能帮助我的人。我花了几个小时来解决这个问题。提前谢谢
共 (0) 个答案